import { fetchWrapper } from './common'
// import { getToken } from '@/utils/token';
// import { useAuthStore } from '@/store/useAuth';
export type InfoParams = {
  month: string
  year: string
}

export type Target = {
  val: string
  year: string
  label?: string
  percent?: string
}

export type TargetTrend = {
  list: { x: string[]; y: string[]; label?: string }[]
  date: string[]
}

export type CompeleteRate = {
  name: string
  val: string
  target: string
  percent: string
  list: CompeleteRate[]
  // valTargetPercent?: string;
  valTotalPercent?: string
  targetTotalPercent?: string
}

export type BusinessItem = {
  代订舱: {
    '中心-代订舱-年度业务量'?: string
    '中心-代订舱-月度业务量'?: string
    '中心-代订舱-年度目标业务量': string
    '中心-代订舱-月度目标业务量': string
  }
  全程物流: {
    '中心-全程物流-年业务量': string
    '中心-全程物流-年目标业务量': string
    '中心-全程物流-月业务量': string
    '中心-全程物流-月目标业务量': string
  }
  头程物流: {
    '中心-头程物流-年度业务量': string
    '中心-头程物流-月度业务量': string
    '中心-头程物流-年度目标业务量': string
    '中心-头程物流-月度目标业务量': string
  }
  贸易供应链: {
    '中心-贸易供应链-年业务量': string
    '中心-贸易供应链-年目标业务量': string
    '中心-贸易供应链-月业务量': string
    '中心-贸易供应链-月目标业务量': string
  }
}

type InfoRes = {
  最近更新时间: Target
  '整柜业务-整柜业务总量-年': Target
  '整柜业务-当月整柜': Target
  '整柜业务-当月订舱整柜': Target
  '整柜业务-当月订舱整柜-走势列表': TargetTrend
  // '整柜业务-当月订舱整柜': Target;
  '整柜业务-月度业务完成率': Target
  '整柜业务-年度业务完成率': Target
  '贸易供应链-年出运量': Target
  '贸易供应链-当月出运量': Target // 月度
  '贸易供应链-年GMV': Target
  '贸易供应链-年度GMV完成率': Target
  '贸易供应链-月GMV': Target
  '贸易供应链-月度GMV完成率': Target
  '贸易供应链-月GMV-目标': Target
  '贸易供应链-月GMV-目标-走势列表': TargetTrend
  '贸易供应链-月度GMV完成率-走势列表': TargetTrend
  '贸易供应链-月GMV-走势列表': TargetTrend
  '贸易供应链-月GMV-中心-走势列表': TargetTrend
  '贸易供应链-月GMV-客户-走势列表': TargetTrend
  '订舱业务出运量-年': Target
  '订舱业务出运量-月': Target
  年度代订舱目标完成率: Target
  月度代订舱目标完成率: Target
  '订舱业务出运量-月-走势列表': TargetTrend
  '订舱业务出运量目标-月-走势列表': TargetTrend
  '月度代订舱目标完成率-走势列表': TargetTrend
  '订舱业务出运量-月-订舱代理-走势列表': TargetTrend
  '订舱业务出运量-月-订舱代理-走势列表2': TargetTrend
  '订舱业务出运量-月-重要客户-走势列表': TargetTrend
  '订舱业务出运量-年-中心-走势列表': TargetTrend
  '贸易供应链-年GMV-中心-走势列表': TargetTrend
  '中心-客户中心': BusinessItem
  '中心-营运中心': BusinessItem
  '中心-解决方案中心': BusinessItem
  '贸易供应链-年计划出运量': Target
  '贸易供应链-年GMV-目标': Target
  '全程(DAP)-年度全程物流出运量': Target
  '全程(DAP)-年度全程物流完成率': Target
  '全程(DAP)-月度全程物流出运量': Target
  '全程(DAP)-月度全程物流完成率': Target
  '全程(DAP)-全程物流出运量走势-combination': TargetTrend
  '贸易供应链-供应链GMV走势-combination': TargetTrend
  '全程(DAP)-客户-月度全程物流出运量-走势列表': TargetTrend
  '全程(DAP)-一级中心-全程物流出运量-走势列表': TargetTrend
  当前PO单计划量: Target
  当前PO单计划总金额: Target
  '头程-业务分类-年度类型出运量-CY-CY': Target
  '头程-业务分类-年度类型出运量-CFS-CY': Target
  '头程-业务分类-月度类型出运量-CY-CY': Target
  '头程-业务分类-月度类型出运量-CFS-CY': Target
  '头程-业务分类-年度头程物流出运量': Target
  '头程-业务分类-年度头程物流出运量目标': Target
  '头程-业务分类-年度头程物流完成率': Target
  '头程-业务分类-月度头程物流出运量': Target
  '头程-业务分类-月度头程物流出运量目标': Target
  '头程-业务分类-月度头程物流完成率': Target
  '头程-业务分类-年度类型出运量': Target
  '头程-业务分类-月度类型出运量': Target
  '头程-头程出运量按月走势-combination': TargetTrend
  '头程-客户-头程出运量-combination': TargetTrend
  '头程-一级中心-头程出运量-CY-CY-走势列表': TargetTrend
  '头程-一级中心-头程出运量-CFS-CY-走势列表': TargetTrend
  '头程-产品分类-月度头程目标完成率': Target
  '头程-产品分类-月度头程物流出运量': Target
  '头程-产品分类-年度头程物流出运量': Target
  '头程-产品分类-年度头程目标完成率': Target
  '头程-产品分类-航线-月度头程出运量-走势列表': TargetTrend
  '头程-产品分类-航司-月度头程出运量-走势列表': TargetTrend
  '头程-客户-月度头程出运量-CY-CY-走势列表': TargetTrend
  '头程-客户-月度头程出运量-CFS-CY-走势列表': TargetTrend
  '中心-代订舱-年度目标业务量': Target
  '产品分类-全程(DAP)-年度全程物流出运量': Target
  '产品分类-全程(DAP)-年度全程物流完成率': Target
  '产品分类-全程(DAP)-月度全程物流完成率': Target
  '产品分类-全程(DAP)-月度全程物流出运量': Target
  '产品分类-全程(DAP)-全程物流出运量走势-combination': TargetTrend

  '产品分类-全程(DAP)-一级中心-全程物流出运量-走势列表': TargetTrend

  '产品分类-全程(DAP)-目的国-全程物流出运量-走势列表': TargetTrend
  '头程-产品分类-一级中心-头程出运量-CY-CY-走势列表': TargetTrend
  '产品分类-代订舱出运量走势-combination': TargetTrend
  '头程-产品分类-一级中心-头程出运量-CFS-CY-走势列表': TargetTrend
  '头程-产品分类-头程出运量按月走势-combination': TargetTrend
  '头程-产品分类-年度头程物流出运量-CY-CY': Target
  '头程-产品分类-年度头程物流出运量-CFS-CY': Target
  '头程-产品分类-月度类型出运量-CY-CY': Target
  '头程-产品分类-月度类型出运量-CFS-CY': Target
  '整柜业务年度完成/目标(TEU)-ScheduleCard': CompeleteRate
  '月度全程物流出运量/月度目标(TEU)-ScheduleCard': CompeleteRate
  '整柜业务年度完成/目标(TEU)-ScheduleCard-List': CompeleteRate[]
  '整柜业务月度完成/目标(TEU)-ScheduleCard-List': CompeleteRate[]

  '产品分类-月度代订舱出运量/月度目标(TEU)-ScheduleCard': CompeleteRate
  '产品分类-月度全程出运量/月度目标(TEU)-ScheduleCard': CompeleteRate
  '产品分类-月度头程物流出运量/月度目标(TEU)-ScheduleCard': CompeleteRate
  '月度GMV总金额/月度目标(TEU)-ScheduleCard': CompeleteRate
  '月进度-ScheduleCard': CompeleteRate
  '供应链-月度头程物流出运量/月度目标(TEU)-ScheduleCard-List': CompeleteRate
  '产品分类-月度头程物流出运量/月度目标(TEU)-ScheduleCard-List': CompeleteRate
  '业务概览-公司年度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-公司年度差价毛利': Target
  '业务概览-公司年度差价毛利目标': Target
  '业务概览-公司年度单teu收入': Target
  '业务概览-公司年度单teu收入目标': Target

  '业务概览-公司月度差价毛利': Target
  '业务概览-公司月度差价毛利目标': Target

  '业务概览-公司月度单teu收入': Target
  '业务概览-公司月度单teu收入目标': Target
  '业务概览-公司月度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-项目年度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-月度差价毛利': Target
  '业务概览-月度差价毛利目标': Target

  '业务概览-月度单teu收入': Target
  '业务概览-月度单teu收入目标': Target
  '业务概览-收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-项目年度差价毛利': Target
  '业务概览-项目年度差价毛利目标': Target
  '业务概览-项目年度单teu收入': Target
  '业务概览-项目年度单teu收入目标': Target

  '业务概览-其他业务-年度代订舱出运量完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-月度代订舱出运量完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-年度航线出运量完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-月度航线出运量完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-代订舱年度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-代订舱-年度差价毛利': Target
  '业务概览-其他业务-代订舱-年度差价毛利目标': Target
  '业务概览-其他业务-代订舱-年度单teu收入': Target
  '业务概览-其他业务-代订舱-年度单teu收入目标': Target
  '业务概览-其他业务-代订舱月度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-代订舱-月度差价毛利': Target
  '业务概览-其他业务-代订舱-月度差价毛利目标': Target
  '业务概览-其他业务-代订舱-月度单teu收入': Target
  '业务概览-其他业务-代订舱-月度单teu收入目标': Target
  '业务概览-其他业务-航线年度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-航线-年度差价毛利': Target
  '业务概览-其他业务-航线-年度差价毛利目标': Target
  '业务概览-其他业务-航线-年度单teu收入': Target
  '业务概览-其他业务-航线-年度单teu收入目标': Target
  '业务概览-其他业务-航线月度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-航线-月度差价毛利': Target
  '业务概览-其他业务-航线-月度差价毛利目标': Target
  '业务概览-其他业务-航线-月度单teu收入': Target
  '业务概览-其他业务-航线-月度单teu收入目标': Target
  '业务概览-其他业务-年度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务年度差价毛利': Target
  '业务概览-其他业务年度差价毛利目标': Target
  '业务概览-其他业务年度单teu收入': Target
  '业务概览-其他业务年度单teu收入目标': Target
  '业务概览-其他业务-月度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务月度差价毛利': Target
  '业务概览-其他业务月度差价毛利目标': Target
  '业务概览-其他业务月度单teu收入': Target
  '业务概览-其他业务月度单teu收入目标': Target
  '业务概览-其他业务-代订舱出运量完成进度-ScheduleCard-List': CompeleteRate
  '业务概览-其他业务-航线出运量完成进度-ScheduleCard-List': CompeleteRate
}
// export function getInfoFetcher(query: string):Promise<{}>
// process.env.NODE_ENV
export function getInfoFetcher(query: string) {
  // let token: string | null = '';
  // if (!token) {
  // 	token = useAuthStore.getState().token;
  // }
  // if (!token) throw Error('没有toekn');
  return fetchWrapper<InfoRes>(
    `/big-screen/businessIndicator/getInfo?${query}`
  )
}
// 公司看板info接口
export function getBusinessInfoFetcher(query: string) {
  // let token: string | null = '';
  // if (!token) {
  // 	token = useAuthStore.getState().token;
  // }
  // if (!token) throw Error('没有toekn');
  return fetchWrapper<InfoRes>(
    `/big-screen/businessIndicator/v2/getInfo?${query}`
  )
}

type OverViewData = {
  '业务概览-公司年度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-公司年度差价毛利': Target
  '业务概览-公司年度差价毛利目标': Target
  '业务概览-公司年度单teu收入': Target
  '业务概览-公司年度单teu收入目标': Target

  '业务概览-公司月度差价毛利': Target
  '业务概览-公司月度差价毛利目标': Target

  '业务概览-公司月度单teu收入': Target
  '业务概览-公司月度单teu收入目标': Target
  '业务概览-公司月度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-项目年度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-月度差价毛利': Target
  '业务概览-月度差价毛利目标': Target

  '业务概览-月度单teu收入': Target
  '业务概览-月度单teu收入目标': Target
  '业务概览-收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-项目年度差价毛利': Target
  '业务概览-项目年度差价毛利目标': Target
  '业务概览-项目年度单teu收入': Target
  '业务概览-项目年度单teu收入目标': Target

  '业务概览-其他业务-年度代订舱出运量完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-月度代订舱出运量完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-年度航线出运量完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-月度航线出运量完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-代订舱年度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-代订舱-年度差价毛利': Target
  '业务概览-其他业务-代订舱-年度差价毛利目标': Target
  '业务概览-其他业务-代订舱-年度单teu收入': Target
  '业务概览-其他业务-代订舱-年度单teu收入目标': Target
  '业务概览-其他业务-代订舱月度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-代订舱-月度差价毛利': Target
  '业务概览-其他业务-代订舱-月度差价毛利目标': Target
  '业务概览-其他业务-代订舱-月度单teu收入': Target
  '业务概览-其他业务-代订舱-月度单teu收入目标': Target
  '业务概览-其他业务-航线年度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-航线-年度差价毛利': Target
  '业务概览-其他业务-航线-年度差价毛利目标': Target
  '业务概览-其他业务-航线-年度单teu收入': Target
  '业务概览-其他业务-航线-年度单teu收入目标': Target
  '业务概览-其他业务-航线月度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务-航线-月度差价毛利': Target
  '业务概览-其他业务-航线-月度差价毛利目标': Target
  '业务概览-其他业务-航线-月度单teu收入': Target
  '业务概览-其他业务-航线-月度单teu收入目标': Target
  '业务概览-其他业务-年度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务年度差价毛利': Target
  '业务概览-其他业务年度差价毛利目标': Target
  '业务概览-其他业务年度单teu收入': Target
  '业务概览-其他业务年度单teu收入目标': Target
  '业务概览-其他业务-月度收入完成进度-ScheduleCard': CompeleteRate
  '业务概览-其他业务月度差价毛利': Target
  '业务概览-其他业务月度差价毛利目标': Target
  '业务概览-其他业务月度单teu收入': Target
  '业务概览-其他业务月度单teu收入目标': Target
  '业务概览-其他业务-代订舱出运量完成进度-ScheduleCard-List': CompeleteRate[]
  '业务概览-其他业务-航线出运量完成进度-ScheduleCard-List': CompeleteRate[]
  '业务概览-项目组-业务完成进度-ScheduleCard-List': CompeleteRate[]
  '产品分类-月度代订舱出运量/月度目标(TEU)-ScheduleCard': CompeleteRate
  '产品分类-月度全程出运量/月度目标(TEU)-ScheduleCard': CompeleteRate
  '供应链-月度头程物流出运量/月度目标(TEU)-ScheduleCard-List': CompeleteRate
  '产品分类-月度头程物流出运量/月度目标(TEU)-ScheduleCard-List': CompeleteRate
  '整柜业务年度完成/目标(TEU)-ScheduleCard-List': CompeleteRate[]
  '整柜业务月度完成/目标(TEU)-ScheduleCard-List': CompeleteRate[]
  '公司年度收入完成情况-确认与暂估-4EntryCard': CompeleteRate
  'V001-公司年度完成情况-差价毛利-已确认': Target
  'V001-公司年度完成情况-单TEU收入-已确认': Target
  '项目组月度收入完成情况-确认与暂估-4EntryCard': CompeleteRate
  'V001-项目组月度完成情况-差价毛利-已确认': Target
  'V001-项目组月度完成情况-单TEU收入-已确认': Target
  'V001-项目组年度完成情况-差价毛利-已确认': Target
  'V001-项目组年度完成情况-单TEU收入-已确认': Target
  '代订舱年度收入完成情况-确认与暂估-4EntryCard': CompeleteRate
  'V001-代订舱年度完成情况-差价毛利-已确认': Target
  'V001-代订舱年度完成情况-单TEU收入-已确认': Target
  '代订舱月度收入完成情况-确认与暂估-4EntryCard': CompeleteRate
  'V001-代订舱月度完成情况-差价毛利-已确认': Target
  'V001-代订舱月度完成情况-单TEU收入-已确认': Target
  '航线年度收入完成情况-确认与暂估-4EntryCard': CompeleteRate
  'V001-航线年度完成情况-差价毛利-已确认': Target
  'V001-航线年度完成情况-单TEU收入-已确认': Target
  '航线月度收入完成情况-确认与暂估-4EntryCard': CompeleteRate
  'V001-航线月度完成情况-差价毛利-已确认': Target
  'V001-航线月度完成情况-单TEU收入-已确认': Target
  '项目组年度收入完成情况-确认与暂估-4EntryCard': CompeleteRate
  '公司月度收入完成情况-确认与暂估-4EntryCard': CompeleteRate
  'V001-公司月度完成情况-差价毛利-已确认': Target
  'V001-公司月度完成情况-单TEU收入-已确认': Target
  'V002-集拼业务-年度出库量': string
  'V002-集拼业务-月度出库量': string
  'V002-集拼业务-年度收入': string
  'V002-集拼业务-月度收入': string
  最近更新时间: string
  '空运小包-年度包裹数': string
  '空运小包-月度包裹数': string
  '空运小包-年度空运小包重量': string
  '空运小包-月度空运小包重量': string
}

export function getOverviewFetcher(query: string) {
  return fetchWrapper<OverViewData>(
    `/big-screen/businessIndicator/getReportIndicatorInfo?${query}`
  )
}
export type OverviewSeaway = {
  detail: {
    monthTotal: Target[]
    yearTotal: Target[]
    'year-sortTopValue年度': TargetTrend
    'month-sortTopValue月度': TargetTrend
  }
  monthTitle: string
  yearTitle: string
}
export function getOverviewSeaway([url]: [string]) {
  return fetchWrapper<OverviewSeaway>(url)
}

type Point = {
  x: string
  y: string
}
export type SaleItem = {
  columnarChartObj?: {
    demandQuantityList: Point[]
    lineQuantityList: Point[]
    satisfactionQuantityList: Point[]
    xlist: string[]
  }
  curveChartObj?: {
    demandQuantityList: Point[]
    lineQuantityList: Point[]
    satisfactionQuantityList: Point[]
    xlist: string[]
  }

  demandQuantity: number
  lineQuantity: number
  satisfactionDegree: string
  name: string
  satisfactionQuantity: number | string
  proposedTime: number
}

export type OverviewSale = {
  saleDemandObj: SaleItem
  saleDemandObjList: SaleItem[]
}

export function getOverviewSaleResource([url]: [string]) {
  return fetchWrapper<OverviewSale>(url)
}

type SeawayDataItem = {
  x: string
  y: string
}
type SeawayBar = {
  lineHead: string
  residueShipmentList: SeawayDataItem[]
  resourcesQuantityList: SeawayDataItem[]
  saleHead: string
  shipmentQuantityList: SeawayDataItem[]
  shutOutQuantityList: SeawayDataItem[]
  xlist: string[]
}

type SeawayResourceItem = {
  chartObj: SeawayBar
  completionDegree: string
  currentMonthShipmentQuantity: string
  lineName: string
  name: string
  newResourcesFlag: 'Y' | 'N'
  resourcesQuantity: string
  targetQuantity: string
  monthTarget?: string
  saleTarget?: string
  turnoverRate: string
}

type OverviewSeawayResource = {
  lineResourcesObj?: SeawayResourceItem
  lineResourcesObjList?: SeawayResourceItem[]
}
export function getOverviewSeawayResource([url]: [string]) {
  return fetchWrapper<OverviewSeawayResource>(url)
}
